   package apiday01homework;

    import java.util.Random;
    import java.util.Scanner;
  public class Captcha {
      public static class VerificationCodeGenerator {

          /**
           * 主函数，用于演示随机验证码的生成和校验过程
           *
           * @param args 命令行参数，本程序中未使用
           */
          public static void main(String[] args) {
              // 生成验证码

              String code = VerificationCodeGenerator.generateVerificationCode();

              // 输出生成的验证码
              System.out.println("验证码: " + code);

              // 创建扫描仪对象，用于接收用户输入
              Scanner scanner = new Scanner(System.in);
              try {
                  // 提示用户输入验证码
                  System.out.println("请输入验证码:");
                  // 读取用户输入的验证码
                  String input = scanner.next().toLowerCase();
                  // 比较用户输入的验证码和生成的验证码
                  if (input.equals(code)) {
                      // 如果输入的验证码与生成的验证码相同，输出验证码正确的提示
                      System.out.println("验证码正确");
                  } else {
                      // 如果输入的验证码与生成的验证码不同，输出验证码错误的提示
                      System.out.println("验证码错误");
                  }
              } catch (Exception e) {
                  System.out.println("输入错误，请确保您输入了正确的验证码格式！");
              } finally {
                  // 关闭扫描仪对象
                  scanner.close();
              }
          }

          /**
           * 生成随机验证码
           *
           * @return 随机生成的验证码
           */
          private  static String generateVerificationCode() {
              // 定义一个包含数字和字母的字符串，用于生成验证码
              String validChars = "1234567890qwertyuiopasdfghjklzxcvbnm";
              // 创建随机数生成器
              Random random = new Random(System.currentTimeMillis());
              StringBuilder code = new StringBuilder();
              // 循环4次，每次随机选择字符串中的一个字符，生成4位验证码
              for (int i = 0; i < 4; i++) {
                  // 获取随机索引
                  int index = random.nextInt(validChars.length());
                  // 根据索引获取字符
                  char ch = validChars.charAt(index);
                  // 将字符添加到验证码字符串中
                  code.append(ch);
              }
              return code.toString();
          }
      }
  }